home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 September / CHIP_CD_2004-09.iso / test / bochs / files / Bochs-2.1.1.exe / / VGABIOS-lgpl-README.txt < prev   
Text File  |  2004-02-08  |  6KB  |  167 lines

  1. Plex86/Bochs VGABios
  2. --------------------
  3.  
  4. The goal of this project is to have a LGPL'd Video Bios in plex86
  5. and bochs.
  6. This VGA Bios is very specific to the emulated VGA card.
  7. It is NOT meant to drive a physical vga card.
  8.  
  9.  
  10. Install
  11. -------
  12. To compile the VGA Bios you will need :
  13. - gcc
  14. - bcc
  15. - as86
  16. - ld86
  17.  
  18. Untar the archive, and type make. You should get a "vgabios.bin" file.
  19. Alternatively, you can use the binary file "vgabios-XXX.bin", i have
  20. compiled for you.
  21.  
  22. Edit your plex86/bochs conf file, and modify the load-rom command in the
  23. VGA BIOS section, to point to the new vgabios.bin file.
  24.  
  25.  
  26. Debugging
  27. ---------
  28. You can get a very basic debugging system: messages printed by the vgabios.
  29. You have to register the "unmapped" device driver in plex86 or bochs, and make
  30. sure it grabs port 0xfff0.
  31.  
  32. Comment the #undef DEBUG at the beginning of vgabios.c. 
  33. You can then use the "printf" function in the bios. 
  34.  
  35.  
  36. Testing
  37. -------
  38. Look at the "testvga.c" file in the archive. This is a minimal Turbo C 2.0 
  39. source file that calls a few int10 functions. Feel free to modify it to suit 
  40. your needs.
  41. The VGA Bios in its current version has been very little tested.
  42.  
  43.  
  44. Copyright and License
  45. ---------------------
  46. This program has been written by Christophe Bothamy
  47. It is protected by the GNU Lesser Public License, which you should
  48. have received a copy of along with this package. 
  49.  
  50.  
  51. Reverse Engineering
  52. -------------------
  53. The VGA Bios has been written without reverse-engineering any existing Bios.
  54.  
  55.  
  56. Acknowledgment
  57. --------------
  58. The source code contains code ripped from rombios.c of plex86, written
  59. by Kevin Lawton <kevin2001@yahoo.com>
  60.  
  61. The source code contains fonts from fntcol16.zip (c) by Joseph Gil avalable at :
  62. ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip
  63. These fonts are public domain
  64.  
  65. The source code is based on information taken from :
  66. - Kevin Lawton's vga card emulation for bochs/plex86
  67. - Ralf Brown's interrupts list avalaible at 
  68.   http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
  69. - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/
  70. - Michael Abrash's Graphics Programming Black Book
  71. - Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" 
  72.   edited by sybex
  73. - DOSEMU 1.0.1 source code for several tables values and formulas
  74.  
  75.  
  76. Feedback
  77. --------
  78. Please report any bugs, comments, patches for this VGA Bios to cbothamy@free.fr
  79. You can find the latest release at : http://www.nongnu.org/vgabios/
  80. For any information on bochs, visit the website http://bochs.sourceforge.net/
  81.  
  82.  
  83. History
  84. -------
  85. vgabios-0.4c : Nov 06 2003
  86.   - Christophe
  87.     . fix font problem on initial screen of NT4 Loader
  88.     
  89. vgabios-0.4b : Nov 04 2003
  90.   - Volker 
  91.     . fix offset of character tables
  92.     . optimizations of CRT controller accesses
  93.     . VBE i/o registers changed to 0x01CE/CF 
  94.       (suggestion from Daniel Gimpelevich)
  95.     . "noclear" flag stored in BIOS area
  96.     . fix character height returned by get_font_info function
  97.  
  98. vgabios-0.4a : Aug 17 2003
  99.   - Volker
  100.     . LFB flagged VBE modes removed
  101.     . many bugfixes and optimizations
  102.     . write character function implemeted for graphic modes
  103.     . support for 15bpp, 16bpp, 24bpp and 32bpp VBE modes added
  104.     . SVGA modes 0x6A added
  105.     . VBE mode 0x102, 0x117, 0x118, 0x142 (Bochs specific)
  106.  
  107. vgabios-0.3b : Nov 23 2002
  108.   - Christophe
  109.     . added lfb-mode numbers (patch from mathis)
  110.     . updated the Makefile
  111.     . removed display of copyrights. 
  112.     . changed the Copyright string to "LGPL VGABios developers"
  113.   - Volker 
  114.     . set the cursor shape depending on the current font height
  115.     . clear BL before calling int 0x10 function 0x1103 in vgabios_init_func
  116.     . added some text font functions
  117.   - Jeroen
  118.     . Forced to new DISPI (0xb0c1) interface (requires latest bochs vbe code)
  119.     . Added multibuffering support
  120.     . Added new DISPI interface for: virt width, height, x offset, y offset
  121.     . Added LFB modes (to be used with the vbe-lfb patch in bochs)
  122.       see VBE_HAVE_LFB in vbe.c (currently default enabled)
  123.     . updated TODO & docs for changes after bochs 1.4
  124.  
  125. vgabios-0.3a : Mar 10 2002
  126.   - Christophe
  127.     . Fixed bug in function ah=13
  128.   - Jeroen
  129.     . updated vbebios implementation to new api
  130.     . added vbe_display_api documentation
  131.     . added 640x400x8, 640x480x8, 800x600x8, 1024x768 
  132.       (>640x480 needs a special bochs patch atm)
  133.     . added 320x200x8 vbe support (uses the standard 320x200x8 vga mode to
  134.       display, this allows for testing & having something on screen as well,
  135.       at least until bochs host side display is up & running)
  136.     . adding lfbprof (vbe) testprogram (+some small fixes to it)
  137.     . merging with vbebios 0.2
  138.  
  139. vgabios-0.2b : Nov 19 2001
  140.   - Christophe
  141.     . Fixed bug in function ah=13
  142.  
  143. vgabios-0.2a : Nov 09 2001
  144.   - Christophe
  145.     . Included bugfix from techt@pikeonline.net about grayscale summing
  146.     . Added the "IBM" string at org 0x1e as Bart Oldeman suggested
  147.     . Fixed DS and ES that where inverted in the int10 parameters list!
  148.     . The following have been implemented :
  149.     - function ax=1a00, ax=1a01, ah=1b
  150.     - function ax=1130                
  151.     . Added debug messages for unimplemented/unknown functions
  152.       Must be compiled with DEBUG defined. The output is trapped
  153.       by the unknown-ioport driver of plex/bochs (port 0xfff0 is used)
  154.  
  155. vgabios-0.1a : May 8 2001
  156.   - Christophe
  157.     . First release. The work has been focused only on text mode.
  158.     . The following have been implemented :
  159.     - inits
  160.     - int 10 handler
  161.     - functions ah=00, ah=01, ah=02, ah=03, ah=05, ah=06, ah=07, ah=08
  162.       ah=09, ah=0a, ah=0e, ah=0f, ax=1000, ax=1001, ax=1002, ax=1003
  163.       ax=1007, ax=1008, ax=1009, ax=1010, ax=1012, ax=1013, ax=1015
  164.       ax=1017, ax=1018, ax=1019, ax=101a, ax=101b, ah=12 bl=10,
  165.       ah=12 bl=30, ah=12 bl=31, ah=12 bl=32, ah=12 bl=33, ah=12 bl=34
  166.       ah=13
  167.